function [ poblacionpodada ] = podapoblacion( poblacion,tabladatos_ind ,tablacombinaciones_ind)
%POPOBLACION Summary of this function goes here
%   Detailed explanation goes here
cartera = length(poblacion(1,:));
Poblacionnicial = length(poblacion(:,1));
poblaciontraducida=zeros(Poblacionnicial,cartera,'uint16');
for i=1:cartera
        poblaciontraducida(:,i)=tablacombinaciones_ind(poblacion(:,i),1);
end

outputPoblacionInicial=zeros(1,Poblacionnicial,'single');
parfor i=1:Poblacionnicial
output= outputSistemas(poblaciontraducida(i,:),tabladatos_ind);
outputPoblacionInicial(i)=output(end);
end

%recta de 45
maximoBenefinicial=max(outputPoblacionInicial(:));
minimoBenefinicial=min(outputPoblacionInicial(:));
longitud=length(tabladatos_ind(:,1));%numero de diasverticalmaximo = (maximoBenefi-minimoBenefi)/2;%beneficio
%verticalmaximo = (maximoBenefinicial-minimoBenefinicial)/2;%beneficio
verticalmaximo= mean(outputPoblacionInicial);

salto=verticalmaximo/(longitud);
recta=zeros(longitud,1);
%recta(1:longitud)=1:salto:verticalmaximo;
recta = linspace(1,verticalmaximo,longitud);recta = recta';
%Poda de <45
filaseliminar=0;
recta=recta(end);
%poda
outputPoblacionPodada=outputPoblacionInicial;
parfor i=1:Poblacionnicial
    
if outputPoblacionInicial(i)>recta 
    %outputPoblacionPodada(:,i)=outputSistemas(poblaciontraducida(i,:),tabladatos_ind);%slecciona 485 sistemas
%     hold on
else
    outputPoblacionPodada(i)=0;
    %filaseliminar=[i filaseliminar];%elimino esa fila de la matriz de poblacion
end
end
%plot(recta(:,1),'--r','LineWidth',2);
%close all
filaseliminar=find(outputPoblacionPodada(:)==0);
filaseliminar=flipud(filaseliminar);%de mayor a menor
poblacionpodada=poblacion;
poblacionpodada(filaseliminar(:,1),:)=[];%elimina esas filas


Poblacionnicialpodada= length(poblacionpodada(:,1));%Poblacion inicial Final PODADA

fprintf('Poblacion Inicial Podada \n');
fprintf('Se poda la poblacion inicial a %i \n',Poblacionnicialpodada);


end

